home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Unsorted / BoubleAttack.AMOS / BoubleAttack.amosSourceCode
Encoding:
AMOS Source Code  |  2001-09-09  |  1.1 KB  |  50 lines

  1. Screen Open 0,320,256,2,0
  2. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  3. Palette 0,$FFF
  4. Double Buffer : Autoback 0
  5. B=3
  6. Dim B(B-1,6)
  7. Global B,B()
  8. For A=0 To 2
  9.   SETUPBOUBLE[Rnd(160)+80,Rnd(40)+10,Rnd(40)-20,Rnd(20),Rnd(20)+5]
  10. Next 
  11. C=1
  12. Do 
  13.   Screen Swap 
  14.   Wait Vbl 
  15.   Ink 0 : DELBOUBLES
  16.   Ink 1 : Box 0,0 To 319,255
  17.   MOVBOUBLES
  18.   DRWBOUBLES
  19. Loop 
  20. Procedure SETUPBOUBLE[X,Y,RX,RY,G]
  21.   For A=0 To B-1
  22.     If B(A,4)=0
  23.       B(A,0)=X*10 : B(A,1)=Y*10
  24.       B(A,2)=RX : B(A,3)=RY
  25.       B(A,4)=G : Exit 
  26.     End If 
  27.   Next 
  28. End Proc
  29. Procedure DRWBOUBLES
  30.   For A=0 To B-1
  31.     If B(A,4)>0 Then Extension_8_05F8 B(A,0)/10,B(A,1)/10,B(A,4)-Rnd(3),B(A,4)-Rnd(3)
  32.   Next 
  33. End Proc
  34. Procedure DELBOUBLES
  35.   For A=0 To B-1
  36.     If B(A,4)>0 Then Bar B(A,5)/10-B(A,4),B(A,6)/10-B(A,4) To B(A,5)/10+B(A,4),B(A,6)/10+B(A,4)
  37.   Next 
  38. End Proc
  39. Procedure MOVBOUBLES
  40.   For A=0 To B-1
  41.     If B(A,4)>0
  42.       B(A,5)=B(A,0) : B(A,6)=B(A,1)
  43.       Add B(A,0),B(A,2)
  44.       Add B(A,1),B(A,3)
  45.       Inc B(A,3)
  46.       If B(A,1)+B(A,3)>2560-B(A,4)*10 : B(A,3)=-Rnd(100)+1 : End If 
  47.       If(B(A,0)+B(A,2)<B(A,4)*10) or(B(A,0)+B(A,2)>3200-B(A,4)*10) : B(A,2)=-B(A,2) : End If 
  48.     End If 
  49.   Next 
  50. End Proc